From 301fccc24e54e8cc1356b8dcd26d39546aa4a63b Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Tue, 6 Mar 2018 15:09:53 -0800 Subject: [PATCH] Retain a vector instead of reallocating No need to create a new version! --- src/cargo/sources/registry/mod.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cargo/sources/registry/mod.rs b/src/cargo/sources/registry/mod.rs index 319f2a9dd..18ff75897 100644 --- a/src/cargo/sources/registry/mod.rs +++ b/src/cargo/sources/registry/mod.rs @@ -499,7 +499,7 @@ impl<'de> de::Deserialize<'de> for DependencyList { fn parse_registry_dependency(dep: RegistryDependency) -> CargoResult { let RegistryDependency { - name, req, features, optional, default_features, target, kind, registry + name, req, mut features, optional, default_features, target, kind, registry } = dep; let id = if let Some(registry) = registry { @@ -527,7 +527,7 @@ fn parse_registry_dependency(dep: RegistryDependency) // empty feature, "", inside. This confuses the resolution process much // later on and these features aren't actually valid, so filter them all // out here. - let features = features.into_iter().filter(|s| !s.is_empty()).collect(); + features.retain(|s| !s.is_empty()); dep.set_optional(optional) .set_default_features(default_features) -- 2.30.2